今天要繼續來介紹一下用於數學運算的函式,NumPy 太多用途了,真的非常需要好好的了解 NumPy 的各種語法。
今天會介紹 sum()
和 power()
和 transpose()
。
把輸入的元素相加起來的函式,完整語法如下:
np.sum(arr, axis, dtype, out)
arr
:輸入的 arrayaxis
:是否要根據 行
或 列
相加dtype
:資料型態out
:如果有 out
,會將結果儲存在 out
內,這個 array 的大小必須和輸出的一樣import numpy as np
array1 = np.array([1, 2, 3, 4, 5.2])
x = np.sum(array1, dtype = np.float32)
print(x)
# 輸出
# 15.2
y = np.sum(array1, dtype = np.uint8)
print(y)
# 輸出
# 15
axis:底下用圖片來示意 axis = 0
或 axis = 1
的方向,他會沿著指定方向去相加出結果,不會全部加成一個常數而已。
# axis = 0
array1 = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
x = np.sum(array1, axis = 0)
print(x)
# 輸出
# [15 18 21 24]
# axis = 0
array1 = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
x = np.sum(array1, axis = 1)
print(x)
# 輸出
# [10 26 42]
先來看一下語法:np.power(x1, x2)
把輸入的 arr 求 n 次方,x1
是 array,x2
可以是常數n
也可以是另一個 array,但是 x2
的行或列至少要有一個跟 x1
一樣
把 x1
內的每個元素都 3 次方。
x1 = np.array([1, 2, 3, 4])
z = np.power(x1, 3)
print(z)
# 輸出
# [ 1 8 27 64]
把 x1
內的每個元素對 x2
的元素取次方。
x1 = np.array([1, 2, 3, 4])
x2 = np.array([1, 2, 3, 4])
z = np.power(x1, x2)
print(z)
# 輸出
# [ 1 4 27 256]
把 x1
內的每個元素對 x2
的元素取次方,並且 x2
有兩個 row 所以輸出也是兩個 row。
x1 = np.array([1, 2, 3, 4])
x2 = np.array([[1, 2, 3, 4],
[6, 6, 6, 6]])
z = np.power(x1, x2)
print(z)
# 輸出
# [[ 1 4 27 256]
# [ 1 64 729 4096]]
x1 = np.array([[4],
[2]])
x2 = np.array([[1, 2, 3],
[4, 5, 6]])
z = np.power(x1, x2)
print(z)
# 輸出
# [[ 4 16 64]
# [16 32 64]]
取得輸入 array 的轉置矩陣。
array1 = np.array([[1, 2, 3, 4],
[6, 6, 6, 6]])
x = np.transpose(array1)
print(x)
# 輸出
# [[1 6]
# [2 6]
# [3 6]
# [4 6]]
NumPy 的介紹就先介紹到這邊了,祝大家在學習的路上都能學到所需的知識。
待續...